Generic preview interface. Particularly used in user interfaces
for post renderers.
A preview needs to be contained by a TMFPreviewControlerPart, which
can be any of its parents.
In its FinishRead(), the controller will find its preview and call
SetControlerPart() and SetPreviewKind().
In its Receive(), the controller will call the preview's ReceiveFromControler()
This enables us to create a reference part with the preview, zoom
toolbar, autoupdate button...that can be used for different previews,
as the previewKind is stored by the controller
For example, let's look at the Depth of Field dialog in MCSketch:
The preview:
is a leafpart, with the TPostRenderZoomablePreviewPart classname
has a part ID of 'EPPI' (referenced by the contoller)
has the following custom tokens (for TPostRenderZoomablePreviewPart )
RNDP rndP (ID of the render button in the DOF node)
RSTP rstP (ID of the resetview button in the DOF node)
AUTO auto (ID of the Auto Update checkbox in the DOF node)
PZTB pzTB (ID of the pan/zoom toolbar in the DOF node)
the topmost node part is the controler:
its classname is TMFPreviewControlerPart
its custom tokens are:
PVID followed by the 4charid of the TPostRenderZoomablePreviewPart (eg EPPI)
PVKN followed by the 4charid of the postrenderer to preview RfDF